![Amazon SESで作成したIDのDKIM認証を設定してみた](https://devio2023-media.developers.io/wp-content/uploads/2023/08/amazon-ses.png)
Amazon SESで作成したIDのDKIM認証を設定してみた
Amazon SESの利用をはじめたい
おのやんです。
みなさん、Amazon SES(以下、SES)でメールを送信したいと思ったことはありませんか?私はあります。
SESの利用を開始する際には、DomainKeys Identified Mail(DKIM)認証を行う必要があります。このDKIM認証を実施する機会がありましたので、今回はそちらを紹介したいと思います。
DKIMとは
DKIMは、メールの送信者を認証するための技術です。DNSレコードに紐つけられた公開鍵で届いたメールのハッシュとその電子署名を復号し、得られたハッシュの同一性を評価するような方式となっています。(画像はAmazon SESから送信されたメールのDKIM署名を検証してみたより)。
Route 53上でドメインを作成
DKIM認証には、まずドメインが必要となります。ということで、今回はRoute 53のパブリックホストゾーンを作成し、そちらで管理しているドメインを使ってDKIM認証を行いたいと思います。
SESのIDを作成
それでは、実際にSESのIDを作成していきましょう。AWSのマネジメントコンソールからSESの画面に移動し、そこの「IDの作成ボタン」から進めます。
IDの作成にあたって、承認を行うタイプを選択できます。今回はDKIMを使用するため、「ドメイン」を選択します。また、ドメインの入力フォームには、先ほどのパブリックホストゾーンで管理しているドメインを入力します。
「デフォルト設定セットの割り当て」と「カスタム MAIL FROM ドメインの使用」のチェックは、今回は外します。
「ドメインの検証」のセクションでは、DKIMで認証を行う際の詳細を設定できます。一番下の「DKIM署名」の部分にはチェックを入れておきましょう。
「DKIMの詳細設定」のトグルを開くと、詳細設定欄が出てきます。IDタイプは「Easy DKIM」、DKIM署名キーの長さは「RSA_2048_BIT」を選択します。また、「DNSレコードのRoute 53への発行」にはチェックを入れておきます。
以上の設定が確認できたら、「IDの作成」を押下します。
正常にIDが作成されると、こちらの画面に遷移します。このうち「IDステータス」を見てみると、「検証保留中」になっていることが確認できます。
DNSレコードの確認
こちらの画面のそのままスクロールしていくと、「認証」タブのDKIM詳細項目が確認できます。こちらで、DKIM認証に必要なDNSレコードを参照することができます。
今回はRoute 53管理のドメインを使用して、かつ先ほどの設定で「DNSレコードのRoute 53への発行」にチェックを入れていたため、Route 53のパブリックホストゾーンのレコードに自動でこれらのレコードが追加されます。
こちらが、例えばAWS外で管理しているドメインを検証に使用する場合、DKIM認証用DNSレコードを外部管理ドメインに追加する作業が必要です。
正しくDNSレコードが追加できていれば、数分後にIDのステータスが「検証保留中」から「検証済み」になります。
「認証」タブのDKIM詳細項目でも、DKIMの設定の部分が「成功」に変わっていることが確認できます。
SESのDKIM認証は数分で完了する
ドメインをRoute 53で管理していると、だいぶ手間が省けていい感じですね。
以上、SESによるDKIM設定記事でした。では!